﻿#ifndef __DEAL_H__
#define __DEAL_H__

#include <stdio.h>
#include "stdlib.h"
#include <string.h>
#include <unistd.h>
#include "gitfunc.h"

#define MAX 1024

//定义枚举用来表示action的模式
typedef enum Git
{
	init,status,add,commit,reset,rm,diff,serv,merge,pull,push,unknown
} Git;

Git add_action(char* command);
int add_option(const Git git,char options[5][20],char index[5][40]);
char* Get_git(const Git git);
int tick(char* command,char options[5][20],int *spacenum);
int strcut(int i,int j,char *a,char *b);
int index_writein(char index[5][40]);
int index_get(char index[5][40]);

//封装action和option两个函数
typedef struct{
	Git (*add_action)(char* command);
	int (*add_option)(const Git git,char options[5][20],char index[5][40]);
} cmdl;

#endif